#ifndef COLA_PRIORIZACION_H
#define COLA_PRIORIZACION_H

#include "TP.h"
#include "Dato.h"
#include "Trabajo.h"

//==============================================================================

typedef tDato tColaPriorizacion;

void colaPriorizacionCrear (tColaPriorizacion* pColaPriorizacion);

void colaPriorizacionDestruir (tColaPriorizacion pColaPriorizacion);

tBool colaPriorizacionPriorizar(tColaPriorizacion pColaPriorizacion, tTrabajo pTrabajo);

void colaPriorizacionRemover(tColaPriorizacion pColaPriorizacion, tTrabajo pTrabajo);

//==============================================================================

typedef tDato tColaPriorizacionIterador;

tColaPriorizacionIterador colaPriorizacionIterador (tColaPriorizacion pColaPriorizacion);

void colaPriorizacionIteradorLiberar(tColaPriorizacionIterador pIterador);

int colaPriorizacionIteradorMoverSiguiente (tColaPriorizacionIterador pIterador);

tTrabajo colaPriorizacionIteradorActual(tColaPriorizacionIterador pIterador);

#endif /*COLA_PRIORIZACION_H*/
